import { axios } from '@/utils/request'
let uri = process.env.NODE_ENV === 'production' ? '' : '/yb'

const api = {
  allUser: '/user/all',
  user: uri + '/user/queryUserList',
  deleteUser: uri + '/user/delete',
  reset: uri + '/user/resetPassword',
  updateInfo: uri + '/user/updateUserInfo',
  createInfo: uri + '/user/insertUserInfo',
  queryUnique: uri + '/user/queryUniqueness',
  queryAllRole: uri + '/user/queryAllRoleIdAndName',
  queryOneRole: uri + '/user/queryRoleByUserId',
  saveRoleInfo: uri + '/user/saveUserRoleInfo',
  queryDept: uri + '/user/queryAllDeptNameAndId',
  queryPosition: uri + '/user/queryPositionByDeptId'
}

// 获取所有用户不分页
export function allUser(params) {
  return axios({
    url: api.allUser,
    method: 'get',
    params
  })
}

// 用户管理-获取用户表格数据
export function getUserList(parameter) {
  return axios({
    url: api.user,
    method: 'get',
    params: parameter
  })
}

// 用户管理-删除用户
export function deleteUser(str, parameter) {
  return axios({
    url: `${api.deleteUser}/${str}`,
    method: 'delete',
    params: parameter
  })
}

// 用户管理-重置密码
export function resetPassword(parameter) {
  return axios({
    url: api.reset,
    method: 'put',
    params: parameter
  })
}

// 用户管理-新增
export function createInfo(parameter) {
  return axios({
    url: api.createInfo,
    method: 'post',
    data: parameter
  })
}

// 用户管理-修改
export function updateInfo(parameter) {
  return axios({
    url: api.updateInfo,
    method: 'put',
    data: parameter
  })
}

// 用户管理-唯一性检测
export function queryUnique(parameter) {
  return axios({
    url: api.queryUnique,
    method: 'get',
    params: parameter
  })
}

// 用户管理-查询所有角色列表
export function queryAllRole(parameter) {
  return axios({
    url: api.queryAllRole,
    method: 'get',
    params: parameter
  })
}

// 用户管理-查询指定用户角色
export function queryOneRole(parameter) {
  return axios({
    url: api.queryOneRole,
    method: 'get',
    params: parameter
  })
}

// 用户管理-保存用户角色信息
export function saveRoleInfo(parameter) {
  return axios({
    url: api.saveRoleInfo,
    method: 'put',
    params: parameter
  })
}

// 用户管理-查询所有部门
export function queryDept(parameter) {
  return axios({
    url: api.queryDept,
    method: 'get',
    params: parameter
  })
}

// 用户管理-查询所有部门
export function queryPosition(parameter) {
  return axios({
    url: api.queryPosition,
    method: 'get',
    params: parameter
  })
}

/**
 * 下面的方法是待删除的，现在删除报错太多
 */
export function getRoleList(parameter) {
  return axios({
    url: api.role,
    method: 'get',
    params: parameter
  })
}

export function getServiceList(parameter) {
  return axios({
    url: api.service,
    method: 'get',
    params: parameter
  })
}

export function getPermissions(parameter) {
  return axios({
    url: api.permissionNoPager,
    method: 'get',
    params: parameter
  })
}

export function getOrgTree(parameter) {
  return axios({
    url: api.orgTree,
    method: 'get',
    params: parameter
  })
}

// id == 0 add     post
// id != 0 update  put
export function saveService(parameter) {
  return axios({
    url: api.service,
    method: parameter.id === 0 ? 'post' : 'put',
    data: parameter
  })
}
